package com.fanqwz.hexieshe.dagger.component;

import android.content.Context;

import com.fanqwz.hexieshe.activity.BaseActivity;
import com.fanqwz.hexieshe.dagger.module.ApplicationModule;
import com.fanqwz.hexieshe.domain.executor.PostExecutionThread;
import com.fanqwz.hexieshe.domain.repository.Repository;

import java.util.concurrent.Executor;

import javax.inject.Singleton;

import dagger.Component;

/**
 * Created by fanqw on 2017/6/30.
 */

@Singleton
@Component(modules = ApplicationModule.class)
public interface ApplicationComponent {
    void inject(BaseActivity activity);

    //向依赖AppplicationComponent的ActivityComponent提供依赖
    Context context();
    Executor threadExecutor();
    PostExecutionThread postExecutionThread();
    Repository userRepository();
}
